Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Множення матриць за допомогою алгоритму Винограда

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інформатика

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ ЗВІТ До лабораторної роботи №11 з курсу: «Інформатика» на тему: «Множення матриць за допомогою алгоритму Винограда» ТЕКСТ ПРОГРАМИ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace lab_inform_11 { class Program { static void Main(string[] args) { Grape gr = new Grape(); gr.Initialization(); Console.WriteLine("\n Матриця G:"); for (int i = 0; i < gr.G.GetLength(0); i++) { Console.WriteLine(); for (int j = 0; j < gr.G.GetLength(1); j++) Console.Write("\t" + gr.G[i, j]); } Console.WriteLine("\n \n Матриця H:"); for (int i = 0; i < gr.H.GetLength(0); i++) { Console.WriteLine(); for (int j = 0; j < gr.H.GetLength(1); j++) Console.Write("\t" + gr.H[i, j]); } gr.RowFactor(); gr.CollumFactor(); gr.ResultCalculations(); Console.WriteLine("\n \n Результуюча матриця R = G * H:"); for (int i = 0; i < gr.R.GetLength(0); i++) { Console.WriteLine(); for (int j = 0; j < gr.R.GetLength(1); j++) Console.Write("\t" + gr.R[i, j]); } Console.ReadKey(); } } class Grape { public int[,] G, H, R; public int[] RF, CF; public const int a = 4, b = 4, c = 4; public int d; public void Initialization() { G = new int[a, b]{{ 7, 12, 4, 1}, { 3, 8, -1, 8}, { 4, 1, 11, 0}, { 2, 3, 1, 9}}; H = new int[b, c]{{ 3, 1, 14, 11}, { 7, 2, -3, 0}, { -4, 12, 15, -2}, { 6, -12, 5, 19}}; R = new int[a, c]; d = b / 2; } public int[] RowFactor() { RF = new int[a]; for (int i = 0; i < a; i++) { RF[i] = G[i, 0] * G[i, 1]; for (int j = 1; j < d; j++) { RF[i] += G[i, 2 * j] * G[i, 2 * j + 1]; } } return RF; } public int[] CollumFactor() { CF = new int[c]; for (int i = 0; i < c; i++) { CF[i] = H[0, i] * H[1, i]; for (int j = 1; j < d; j++) CF[i] += H[2 * j, i] * H[2 * j + 1, i]; } return CF; } public int[,] ResultCalculations() { for (int i = 0; i < c; i++) for (int j = 0; j < c; j++) { R[i, j] = -RF[i] - CF[j]; for (int k = 0; k < d; k++) { if (k == 0) { R[i, j] += ((G[i, 0] + H[1, j]) * (G[i, 1] + H[0, j])); } else R[i, j] += ((G[i, 2 * k] + H[2 * k + 1, j]) * (G[i, 2 * k + 1] + H[2 * k, j])); } } return R; } } } РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ 
Антиботан аватар за замовчуванням

29.05.2013 16:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини